home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / basupd / month.bas < prev    next >
BASIC Source File  |  1992-06-17  |  1KB  |  42 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |           BasUpd  Copyright (c) 1992  Thomas G. Hanlin III           |
  4. '   |                                                                      |
  5. '   |            See BASUPD.DOC for info on distribution policy            |
  6. '   |                                                                      |
  7. '   +----------------------------------------------------------------------+
  8.  
  9.    DEFINT A-Z
  10.  
  11. FUNCTION Month (SerialNr#)
  12.    TDate& = CLNG(SerialNr#) + 53688
  13.    YearNr = 1753
  14.    DO WHILE TDate& >= 365&
  15.       IF YearNr MOD 4 = 0 AND YearNr MOD 100 > 0 OR YearNr MOD 400 = 0 THEN
  16.          TDate& = TDate& - 366&
  17.       ELSE
  18.          TDate& = TDate& - 365&
  19.       END IF
  20.       YearNr = YearNr + 1
  21.    LOOP
  22.    IF TDate& < 0& THEN
  23.       MonthNr = 12
  24.    ELSE
  25.       TDate& = TDate& + 1&
  26.       MonthNr = 1
  27.       IF YearNr MOD 4 = 0 AND YearNr MOD 100 > 0 OR YearNr MOD 400 = 0 THEN
  28.          MonthDay$ = "313232332323"
  29.       ELSE
  30.          MonthDay$ = "303232332323"
  31.       END IF
  32.       tmp = ASC(MID$(MonthDay$, MonthNr, 1)) - 20
  33.       DO WHILE TDate& > tmp
  34.          TDate& = TDate& - tmp
  35.          MonthNr = MonthNr + 1
  36.          tmp = ASC(MID$(MonthDay$, MonthNr, 1)) - 20
  37.       LOOP
  38.       DayNr = TDate&
  39.    END IF
  40.    Month = MonthNr
  41. END FUNCTION
  42.